From: Olaf Hering Date: Tue, 3 Feb 2015 11:45:36 +0000 (+0100) Subject: etherboot: [build] sort objects in blib.a X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~3724 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/%22bookmarks:///%22http:/www.example.com/cgi/%22https:/%22bookmarks:/?a=commitdiff_plain;h=cb8366d34ef5021af761ca1977d9cb305ba8fabd;p=xen.git etherboot: [build] sort objects in blib.a When building hvmloader for Xen tools the ipxe objects are also linked into the binary. Unfortunately the linker will place them in the order found in the archive. Since this order is random the resulting hvmloader binary differs when it was built from identical sources but on different build hosts. To help with creating a reproducible binary the elements in blib.a must simply be sorted before passing them to $(AR). Signed-off-by: Olaf Hering Cc: Ian Jackson Cc: Stefano Stabellini Cc: Ian Campbell Cc: Wei Liu Acked-by: Ian Campbell --- diff --git a/tools/firmware/etherboot/patches/build-compare.patch b/tools/firmware/etherboot/patches/build-compare.patch new file mode 100644 index 0000000000..d41f68b17d --- /dev/null +++ b/tools/firmware/etherboot/patches/build-compare.patch @@ -0,0 +1,19 @@ +The result of $(wildcard *) is random. +Sort input files to reduce build-compare noise. +--- + ipxe/src/Makefile.housekeeping | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: ipxe/src/Makefile.housekeeping +=================================================================== +--- ipxe/src/Makefile.housekeeping ++++ ipxe/src/Makefile.housekeeping +@@ -773,7 +773,7 @@ BLIB = $(BIN)/blib.a + $(BLIB) : $(BLIB_OBJS) $(BLIB_LIST) $(MAKEDEPS) + $(Q)$(RM) $(BLIB) + $(QM)$(ECHO) " [AR] $@" +- $(Q)$(AR) r $@ $(BLIB_OBJS) ++ $(Q)$(AR) r $@ $(sort $(BLIB_OBJS)) + $(Q)$(RANLIB) $@ + blib : $(BLIB) + diff --git a/tools/firmware/etherboot/patches/series b/tools/firmware/etherboot/patches/series index 5bd7df8090..7512c14652 100644 --- a/tools/firmware/etherboot/patches/series +++ b/tools/firmware/etherboot/patches/series @@ -2,3 +2,4 @@ boot_prompt_option.patch build_fix_1.patch build_fix_2.patch build_fix_3.patch +build-compare.patch